<script>
	import urlConfig from 'common/config.js'
	export default {
		data(){
			return{
				number:0,
				isShow:false
			}
		},
		onLaunch: function() {
			// #ifdef APP-PLUS
			// 重新打开时清除登录缓存
			uni.removeStorage({
				key: 'userInfo'
			})
			//console.log('程序启动')
			this.AndroidUpdate()
			// #endif
		},
		onShow: function() {
			//console.log('App Show')
		},
		onHide: function() {
			//console.log('App Hide')
		},
		methods: {
			AndroidUpdate() {
				uni.getSystemInfo({
					success: (res) => {
						var _this = this;
						// 检测当前平台，如果是安卓则启动安卓更新  
						if (res.platform == "android") {
							//  获取manifest.json里的配置信息
							plus.runtime.getProperty(plus.runtime.appid, function(wgtinfo) {
								// 可以根据manifest.json里的应用名称来进行针对性的APP升级
								//console.log(wgtinfo)
								if (wgtinfo.name == "药品溯源") {
									// 获取manifest.json里的版本号   
									_this.version = wgtinfo.version
									const curr_version = parseInt(wgtinfo.versionCode)
									_this.AndroidCheckUpdate(curr_version);
								} else {}
							});
						}
					}
				})
			},
			AndroidCheckUpdate(curr_version) {
				// 检查服务器版本号
				var _this = this;
				let server = uni.getStorageSync('server') || '';
				var urlConfig = 'traceability.ahaodian.cn'
				if (server) {
					urlConfig = server;
				}
				var url = 'http://' + urlConfig + '/Api/Scheme/GetLatestApkVersion';

				uni.request({
					url: url,
					method: 'POST'
				}).then((res) => {				
					//console.log(res)
					var d = res[1].data;
					//console.log(d)
					const server_version = d.VersionCode;
					const hasValue = d.HasValue;
					_this.checkVersionToLoadUpdate(server_version, curr_version, hasValue)

				}).catch((res) => {

				})				
			}, 
			checkVersionToLoadUpdate: function(server_version, curr_version, hasValue) {
				//console.log(server_version,curr_version,'版本对比')
				var _this = this;
				if (server_version > curr_version) {
					//TODO 此处判断是否为 WIFI连接状态	
					uni.showModal({
						title: "版本更新",
						content: '有新的版本发布，是否立即进行新版本下载？',
						confirmText: '立即更新',
						cancelText: '稍后进行',
						success: function(res) {
							if (res.confirm) {
								uni.showToast({
									icon: "none",
									mask: true,									
									title: '新版本下载完成后，将自动弹出安装程序',
									duration: 5000,
								});
								let server = uni.getStorageSync('server') || '';
								var urlConfig = 'traceability.ahaodian.cn'
								if (server) {
									urlConfig = server;
								}
								
								var url = 'http://' + urlConfig +
									'/Api/Scheme/DownloadVersionPackage?hasValue=' + hasValue;
								uni.request({
									url: url,
									method: 'GET'
								}).then((res) => {									
									const downloadApkUrl = res[1].data;
									uni.showToast({
										title:downloadApkUrl,
										duration:4000
									})							
									
									// var downloadApkUrl = '*******';
									var dtask = plus.downloader.createDownload(downloadApkUrl, {},
										function(d, status) {
											// 下载完成  
											if (status == 200) {												
												plus.runtime.install(plus.io
													.convertLocalFileSystemURL(d
													.filename), {}, {},
													function(error) {
														uni.showToast({
															title: '安装失败',
															duration: 1500,
															icon: 'none'
														});
													})
											} else {
												uni.showToast({
													title: '下载失败',
													duration: 1500,
													icon: 'none'
												});
											}
										});									
										
									dtask.start();
									
									dtask.addEventListener("statechanged",(download,status)=>{
										if (download.state == 3){
											//进度计算
											that.number = parseInt(download.downloadedSize/download.totalSize*100)
										}
									})
									
								}).catch((res) => {

								})




							} else if (res.cancel) {
								// console.log('稍后更新');
							}
						}
					});
					// if (plus.networkinfo.getCurrentType() != 3) {
					// 	uni.showToast({
					// 		title: '有新的版本发布，检测到您目前非Wifi连接，为节约您的流量，程序已停止自动更新，将在您连接WIFI之后重新检测更新',
					// 		mask: true,
					// 		duration: 5000,
					// 		icon: "none"
					// 	});
					// 	return;
					// } else {
					// 	uni.showModal({
					// 		title: "版本更新",
					// 		content: '有新的版本发布，检测到您当前为Wifi连接，是否立即进行新版本下载？',
					// 		confirmText: '立即更新',
					// 		cancelText: '稍后进行',
					// 		success: function(res) {
					// 			if (res.confirm) {
					// 				uni.showToast({
					// 					icon: "none",
					// 					mask: true,
					// 					// title: '有新的版本发布，检测到您目前为Wifi连接，程序已启动自动更新。新版本下载完成后将自动 弹出安装程序',
					// 					title: '新版本下载完成后，将自动弹出安装程序',
					// 					duration: 5000,
					// 				});
					// 				//设置 最新版本apk的下载链接
					// 				var downloadApkUrl = '*******';
					// 				var dtask = plus.downloader.createDownload(downloadApkUrl, {}, function(d, status) {
					// 					// 下载完成  
					// 					if (status == 200) {
					// 						plus.runtime.install(plus.io.convertLocalFileSystemURL(d.filename), {}, {}, function(error) {
					// 							uni.showToast({
					// 								title: '安装失败',
					// 								duration: 1500,
					// 								icon: 'none'
					// 							});
					// 						})
					// 					} else {
					// 						uni.showToast({
					// 							title: '更新失败',
					// 							duration: 1500,
					// 							icon: 'none'
					// 						});
					// 					}
					// 				});
					// 				dtask.start();
					// 			} else if (res.cancel) {
					// 				// console.log('稍后更新');
					// 			}
					// 		}
					// 	});
					// }
				}
			},
		}
	}
</script>

<style>
	/*每个页面公共css */
	@import url('./common/iconfont.css');
	@import url("./common/common.css");
</style>